The NAS in Hospitality

In hospitality in general, there is a great need for running jobs within the restaurants every few minutes or once every 24 hours when the business is either closed or there is little activity. Only the Meal Planning does not need to have the scheduler running, although the process that changes the POS menus by validation period could be run by the scheduler.

To run these jobs, a NAS (Navision Application Server) has to be running in each company. It needs to be set up to run both the KDS NAS and the LS Retail Scheduler (NAS Scheduler).

For Dining Table Management

Job Role Codeunit  
KDS (displays) To communicate with the Kitchen server, sending KOTs, receiving KOT status updates. KDS Functions Run by the KDS NAS
Order Status Update To update Kitchen Order Status, KOT Status and Transaction Status. Even if just using KDS printing, this process must run to update the statuses as necessary. KDS Functions Run by the KDS NAS
Alert Onset To activate dining table alerts on timer. KDS Functions Run by the KDS NAS
Automatic Dining Table Status Change To change Dining Table Statuses automatically on timer. KDS Functions Run by the KDS NAS
Data Cleanup To delete entries from the status tables and KDS tables older than a set number of days. Must be run to maximize performance. Hosp. Status and KDS Cleanup Run as a scheduler job (once a day, during closed hours) 
Sch. Job Type: HOSP

For KDS (Display and Printing)

Job Role Codeunit  
KDS (displays) To communicate with the Kitchen server, sending KOTs, receiving KOT status updates. KDS Functions Run by the KDS NAS
Order Status Update To update Kitchen Order Status, KOT Status and Transaction Status. Even if just using KDS printing, this process must run to update the statuses as necessary. KDS Functions Run with the KDS NAS
Data Cleanup To delete entries from the status tables and KDS tables older than a set number of days. Must be run to maximize performance. Hosp. Status and KDS Cleanup Run as a scheduler job (once a day, during closed hours) 
Sch. Job Type: HOSP

For Delivery & Takeout

Job Role Codeunit  
KDS (displays) To communicate with the Kitchen server, sending KOTs, receiving KOT status updates. KDS Functions Run by the KDS NAS
Order Status Update To update Kitchen Order Status, KOT Status and Transaction Status. Even if just using KDS printing, this process must run to update the statuses as necessary. KDS Functions Run with the KDS NAS
Data Cleanup To delete entries from the status tables and KDS tables older than a set number of days. Must be run to maximize performance. Hosp. Status and KDS Cleanup Run as a scheduler job (once a day, during closed hours)
Sch. Job Type: HOSP
Data Cleanup (Driver Trips) To delete delivery driver trip entries order than a set number of days. Delivery Functions Run as a scheduler job (once a day, during closed hours)
Sch. Job Type: HOSP
Reprint Pre-Orders To put pre-orders that are on hold back into queue and send them to the kitchen as they are now ready to be produced in time for the scheduled contact pickup. Delivery Functions Run as a scheduler job 
Sch. Job Type: HOSP
Convert Pre-Orders To convert the pre-order orders due today so that the POS transactions behind the orders change their sales type from pre-order to either delivery or takeout. After this conversion, they appear in the delivery and takeout order lists. They are On hold until they are reprinted to the kitchen. Delivery Functions Run as a scheduler job 
Sch. Job Type: HOSP

For Offline Call Center (Call Center database)

Job Role Codeunit  
Get Estimated Timing To get estimated timing information on orders from restaurants (how many orders are in progress, current average production time) Offl. Call Center Sched. Jobs Run as a scheduler job 
Sch. Job Type: OFFLINECC
Get Status on Orders To get status information on orders from the restaurants. Offl. Call Center Sched. Jobs Run as a scheduler job
Sch. Job Type: OFFLINECC
Data Cleanup Delete entries in the web service log older than a set number of days. Offl. Call Center Sched. Jobs Run as a scheduler job
Sch. Job Type: OFFLINECC

For Offline Call Center (Restaurant database)

Job Role Codeunit  
Process Call Center Orders To send orders that have been sent from call center to the kitchen. Offl. Call Center Sched. Jobs Run as a scheduler job
Sch. Job Type: OFFLINECC
Send Converted Pre-Orders to Call Center To send orders after they have been converted to delivery or takeout orders back to the call center Offl. Call Center Sched. Jobs Run as a scheduler job
Sch. Job Type: OFFLINECC
Data Cleanup Delete entries in the web service log older than a set number of days. Offl. Call Center Sched. Jobs Run as a scheduler job
Sch. Job Type: OFFLINECC

Enabling the NAS Scheduler

To run the NAS Scheduler you need to enable it in the Scheduler Setup page.

  1. Go to LS Hospitality > Scheduler > Setup > Scheduler Setup.

  1. Select the Enable NAS Scheduler check box.

Configuring the NAS

The NAS (Navision Application Server) can run on a dedicated computer. If it needs to communicate with the KDS, it needs to have access to both the Dynamics Nav SQL Server and the KDS system.

Dynamics Nav needs to be installed on the NAS computer.

  1. Open the Microsoft Management Console for the Microsoft Dynamics Nav Server. It is called Microsoft Dynamics NAV Server.msc and can usually be found in folder C:\Program Files (x86)\Microsoft Dynamics NAV\80\RoleTailored Client.

    We assume the parameters for the Dynamics Nav SQL server has already been set up correctly so the connection to the database has been established. Also remember to fill out the Services Default Company.

  1. Open the NAS Services tab for the service you want to configure.

NAS running both the KDS system and the LS Retail Scheduler

If you want to run the KDS system and the LS Retail Scheduler, you need to enter the following setup values:

  • Startup Codeunit : 99001454
  • Startup Method: LSRetailNASHandler
  • Startup Arguments: KDS LSRSCHEDULER NASID,TYPEFILTER=HOSP,LOG=1,REPEAT=1

Codeunit 99001454 LS Retail NAS Handler can start the KDS system (KDS NAS) and also run other tasks such as the LS Retail Scheduler, the LS Retail Batch Posting system and the standard Job Queue system.

The Startup Argument in the example above will start the KDS communication and also start the LS Retail Scheduler where it will run all the Scheduler Jobs that have HOSP in the Scheduler Job Type Code field. Please note that a space will separate the keywords in the Startup Argument.

Codeunit 99001454 will recognize the following keywords in the Startup Argument:

  • KDS which will start the communication between Dynamics Nav and the KDS system
  • LSBATCHPOST which will run the LS Retail Batch Posting Queue
  • JOBQUEUE which will run the standard Job Queue.
  • LSRSCHEDULER which will run the LS Retail Scheduler

Only the LSRSCHEDULER takes parameters, so have those in the last position in the Startup Argument string. Here is an example of how the Startup Argument could look like if both the KDS, LS Retail Scheduler and the Batch Posting Queue are to be started by the NAS:

KDS BATCHPOST LSRSCHEDULER NASID,TYPEFILTER=HOSP,LOG=1,REPEAT=1

KDS NAS Setup

The connection to the KDS is configured in the KDS NAS Setup page. Default values are used if no values are provided. The provided pages, KDSNAS Log and KDSNAS Order Overview can be used to monitor the connection.

To open the KDSNAS Setup:

  1. Go to LS Hospitality > Kitchen Display System > Administration > KDS NAS Setup.

  1. Fill in the fields according to these guidelines:

    Field Description
    Timer Interval (ms) The Timer Interval time in milliseconds. Value 0 equals default value 500 ms
    Timer Job Seconds Time to wait until next job is started. Value 0 equals default value 30 seconds
    Debug logging If enabled, debug messages are logged to the KDS NAS Log table and can be viewed in a page with the same name.
    Write Xml To file If enabled the last message sent to the Kitchen manager is written to the folder specified in XML File Directory
    XML File Directory File location for the XML file. This location is on the machine where the NAS is running
    KDS Manager Host Host name or IP address for the KDS Manager. Default is localhost
    KDS Manager Port Port number for the KDS Manager. Default is 17750
    KDS Connection Error Read only field indicating if an error occurred while connecting to the KDS Manager